package com.student.user.service;

import com.student.user.dao.AdminDao;
import com.student.user.pojo.Admin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import util.IdWorker;

import java.util.Optional;

@Service
public class AdminService {

    @Autowired
    private AdminDao adminDao;

    @Autowired
    private IdWorker idWorker;

    @Autowired
    private BCryptPasswordEncoder encoder;

    public Admin login(Admin admin) {
        //先根据用户名查询对象。
        Optional<Admin> adminLogin = adminDao.findById(admin.getId());
        //然后拿数据库中的密码和用户输入的密码匹配是否相同。
        if(adminLogin!=null && encoder.matches(admin.getPassword(), adminLogin.get().getPassword())){
            //保证数据库中的对象中的密码和用户输入的密码是一致的。登录成功
            return adminLogin.get();
        }
        //登录失败
        return null;
    }

}
